package cn.touna.jss.common.properties.config;

import com.baidu.disconf.client.common.annotations.DisconfFile;
import com.baidu.disconf.client.common.annotations.DisconfFileItem;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 * hbase表配置
 * Created by wuwc on 2017/7/13.
 */
@Component
@Scope("singleton")
//@DisconfFile(targetDirPath = "disconf", filename = "bizTableTopic.properties")
public class HbaseTableTopicProperties {
    /**
     * 三方数据缓存hbase表
     */
    private String crsDataReport;

    /**
     * 通讯录hbase表
     */
    private String contactlistEventData;
    /**
     * 三方数据历史hbase表
     */
    private String crsHistoryReport;

    /**
     * 用户变量hbase表
     */
    private String userVariables;
    /**
     * 监控系统Topic
     */
    private String monitorTopic;
    /**
     * 画像系统topic
     */
    private String profileTopic;
    /**
     * 资信报告的topic
     */
    private String rowKeyTopic;

    /**
     * 埋点上报topc,暂时保留
     */
    private String dataTopic;
    /**
     * 调用记录topic
     */
    private String creditHistoryTopic;

    /**
     * ID身份证统计topic
     */
    private String idcardCountTopic;

    private String apiTopic;

    public String getCrsDataReport() {
        return crsDataReport;
    }

    @Value("${hbase.crs_data_report}")
    public void setCrsDataReport(String crsDataReport) {
        this.crsDataReport = crsDataReport;
    }

    //@DisconfFileItem(name = "hbase.contactlist_event_data", associateField = "contactlistEventData")
    public String getContactlistEventData() {
        return contactlistEventData;
    }

    @Value("${hbase.contactlist_event_data}")
    public void setContactlistEventData(String contactlistEventData) {
        this.contactlistEventData = contactlistEventData;
    }

    public String getUserVariables() {
        return userVariables;
    }

    @Value("${hbase.user_variables}")
    public void setUserVariables(String userVariables) {
        this.userVariables = userVariables;
    }

    //@DisconfFileItem(name = "hbase.crs_history_report", associateField = "crsHistoryReport")
    public String getCrsHistoryReport() {
        return crsHistoryReport;
    }

    @Value("${hbase.crs_history_report}")
    public void setCrsHistoryReport(String crsHistoryReport) {
        this.crsHistoryReport = crsHistoryReport;
    }


    //@DisconfFileItem(name = "Kafka.topic.monitorTopic", associateField = "monitorTopic")
    public String getMonitorTopic() {
        return monitorTopic;
    }

    @Value("${kafka.topic.monitorTopic}")
    public void setMonitorTopic(String monitorTopic) {
        this.monitorTopic = monitorTopic;
    }

    //@DisconfFileItem(name = "Kafka.topic.profileTopic", associateField = "profileTopic")
    public String getProfileTopic() {
        return profileTopic;
    }

    @Value("${kafka.topic.profileTopic}")
    public void setProfileTopic(String profileTopic) {
        this.profileTopic = profileTopic;
    }


    //@DisconfFileItem(name = "kafka.topic.rowKeyTopic", associateField = "rowKeyTopic")
    public String getRowKeyTopic() {
        return rowKeyTopic;
    }

    @Value("${kafka.topic.rowKeyTopic}")
    public void setRowKeyTopic(String rowKeyTopic) {
        this.rowKeyTopic = rowKeyTopic;
    }

    //@DisconfFileItem(name = "kafka.topic.dataTopic", associateField = "dataTopic")
    public String getDataTopic() {
        return dataTopic;
    }

    @Value("${kafka.topic.dataTopic}")
    public void setDataTopic(String dataTopic) {
        this.dataTopic = dataTopic;
    }

   //@DisconfFileItem(name = "kafka.topic.creditHistoryTopic", associateField = "creditHistoryTopic")
    public String getCreditHistoryTopic() {
        return creditHistoryTopic;
    }

    @Value("${kafka.topic.credithistory}")
    public void setCreditHistoryTopic(String creditHistoryTopic) {
        this.creditHistoryTopic = creditHistoryTopic;
    }

    //@DisconfFileItem(name = "kafka.topic.idcardCountTopic", associateField = "idcardCountTopic")
    public String getIdcardCountTopic() {
        return idcardCountTopic;
    }

    //@Value("${Kafka.topic.idcardCountTopic}")
    public void setIdcardCountTopic(String idcardCountTopic) {
        this.idcardCountTopic = idcardCountTopic;
    }

    //@DisconfFileItem(name = "kafka.topic.apiTopic", associateField = "apiTopic")
    public String getApiTopic() {
        return apiTopic;
    }

    @Value("${kafka.topic.apiTopic}")
    public void setApiTopic(String apiTopic) {
        this.apiTopic = apiTopic;
    }
}
